﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using ExcellentProject.Dominio.Calificaciones.Repositorios;
using ExcellentProject.Infraestructura.AccesoDatos.Calificaciones;
using ExcellentProject.Dominio.Calificaciones.Entidades;


namespace RepositorioCalificacionesUnitTestProject
{
    [TestClass]
    public class PrubaUnitariaRepositorioCalificaciones
    {
        [TestMethod]
        public void CreacionRepositorio()
        {
            var repositorio = new RepositorioCalificacion();
        }

        [TestMethod]
        public void PruebaAgregarCalificacion()
        {
            var repositorio = new RepositorioCalificacion();
            repositorio.Contexto = new CalificacionesContext();
            var calificacion = new Calificacion()
            {
                IdEstudiante = 1,
                Descripcion = "Prueba Semestral",
                IdPeriodo = 2,
                Nota = 20
            };

            repositorio.Agregar(calificacion);
        }

        [TestMethod]
        public void PruebaAgregarCalificacionBase()
        {
            var repositorio = new RepositorioCalificacion();
            repositorio.Contexto = new CalificacionesContext();

            var curso = new Curso()
            {
                Estado = "VIGENTE",
                FechaFin = new DateTime(2014, 10, 12),
                FechaInicio = new DateTime(2013, 10, 12),
                IdDocente = 1
            };

            var periodo = new Periodo()
            {
                Curso = curso,
                Estado = "VIGENTE",
                FechaInicio = new DateTime(2013, 10, 12),
                FechaFin = new DateTime(2013, 11, 12)
            };
            var calificacion = new Calificacion()
            {
                IdEstudiante = 1,
                Descripcion = "Prueba Mensual",
                Nota = 20,
                Periodo = periodo
            };

            repositorio.Agregar(calificacion);
            repositorio.ConfirmarCambios();
        }
    }
}
